home *** CD-ROM | disk | FTP | other *** search
/ Joystick Magazine 1996 May / cd joy 71No13.iso / pc / demos / eurosoc / source / sosres.h < prev    next >
Text File  |  1995-02-05  |  2KB  |  111 lines

  1. /****************************************************************************
  2.  
  3.    File              : sosres.h
  4.  
  5.    Programmer(s)     : Don Fowler, Nick Skrepetos
  6.    Date              :
  7.  
  8.    Purpose           : Include Files For Zortech C++ Compiler
  9.  
  10.    Last Updated      :
  11.  
  12. ****************************************************************************
  13.                Copyright(c) 1993,1994 Human Machine Interfaces 
  14.                             All Rights Reserved
  15. ****************************************************************************/
  16.  
  17. #define  _SOS_RESOURCE
  18. #ifndef  _SOS_RESOURCE
  19. #define  _SOS_RESOURCE
  20.  
  21. // structure for resource file header
  22. typedef struct
  23. {
  24.    // file version
  25.    WORD     wVersion;
  26.  
  27.    // file size
  28.    LONG     dwFileSize;
  29.  
  30.    // number of resources in file
  31.    WORD     wResCount;
  32.  
  33.    // offset of resource data from top of file
  34.    LONG     dwResOffset;
  35.  
  36.    // offset of sync track from top of file
  37.    LONG     dwSyncTrackOffset;
  38.  
  39. }  _RES_FILE_HEADER;
  40.  
  41. // structure for resource block header
  42. typedef struct
  43. {
  44.    // resource id
  45.    WORD     wID;
  46.  
  47.    // resource type
  48.    WORD     wResType;
  49.  
  50.    // offset of next block
  51.    LONG     dwNextBlock; 
  52.  
  53.    // size of the current resource information
  54.    LONG     dwResSize;
  55.  
  56.    // rate to play block at
  57.    WORD     wBlockRate;
  58.  
  59.    // id for the sync track to use
  60.    WORD     wSyncTrackID;
  61.  
  62. }  _RES_BLOCK_HEADER;
  63.  
  64. // structure for sync mark tag
  65. typedef struct _tagSYNCMARK
  66. {
  67.    // ID of the type of mark being used
  68.    WORD  wID;
  69.  
  70.    // location in data of sync mark
  71.    LONG  dwSyncOffset;
  72.  
  73.    // length of sync block
  74.    LONG  dwSyncSize;
  75.  
  76.    // start sample data
  77.    _SOS_START_SAMPLE sampleData;
  78.     
  79. } _RES_SYNCMARK;
  80.  
  81. typedef union
  82. {
  83.    // structure for sync mark tag
  84.    _RES_SYNCMARK  syncMark; 
  85.  
  86. } _RES_TAG;
  87.  
  88. // union for filter information for prepareWave
  89. typedef union
  90. {
  91.    // filter type
  92.    WORD     wFilterID;
  93.  
  94.    // structure for volume
  95.    struct   volume 
  96.    {
  97.       WORD  wVolume;
  98.    };
  99.  
  100.    // structure for delay
  101.    struct   delay
  102.    {  
  103.       WORD  wDelaySamples;
  104.    };
  105.  
  106. } _SOS_FILTER; 
  107.  
  108.  
  109. #endif
  110.  
  111.